// SessionStorage 操作者
export default {
    /**
     * 初始化
     * @param key - 键
     * @param isobj - 是否实体
     * */
    Instance: function (key, isobj = false) {

        return {
            /**
             * setter
             * @param value - 值
             * */
            set [key](value) {

                let valueStr = isobj ? value.toString() : JSON.stringify(value);

                window.sessionStorage.setItem(key, valueStr);
            },
            /**
             * getter
             * */
            get [key]() {

                let valueStr = window.sessionStorage.getItem(key);

                let value = isobj ? valueStr : JSON.parse(valueStr);

                return value;
            },
            /**
             * 移除
             * */
            [`remove${key}`]() {
                window.sessionStorage.removeItem(key);
            }
        }
    },
    /**
     * 清除全部
     * */
    clearAll() {
        window.sessionStorage.clear();
    }
}